package co.yixiang.modules.security.security.vo;

import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;

/**
 * 认证用户对象
 * 用于处理用户认证过程中的相关信息
 */
@Getter
@Setter
public class AuthUser {

    /**
     * 用户名，不能为空
     * 用户名是用户身份的唯一标识，用于登录和身份验证
     */
    @NotBlank
    private String username;

    /**
     * 密码，不能为空
     * 密码用于验证用户身份，确保用户信息安全
     */
    @NotBlank
    private String password;

    /**
     * 验证码
     * 用于增加登录安全性，防止自动化工具的恶意登录尝试
     */
    private String code;

    /**
     * 验证码唯一标识
     * 用于关联验证码和用户会话，确保验证码的正确性和有效性
     */
    private String uuid = "";

    /**
     * 重写toString方法
     * 提供认证用户对象的字符串表示，隐藏密码信息以保护用户安全
     *
     * @return 字符串表示的认证用户对象，密码信息被隐藏
     */
    @Override
    public String toString() {
        return "{username=" + username  + ", password= ******}";
    }
}
